import axios from 'axios'; 
import request from '@/utils/request.js'
import type {
  Result,
  PageBean,
  文章评论模块,
} from './typings';

/**
 * 分页查询文章 GET /api/article
 */
export async function get_api_article (
  data: {
    /** 当前页数 */
    pageNum?: any;
  },
  options?: Record<string, any>,
): Promise<Result<PageBean<文章评论模块>>> {
  return axios({
    method: 'GET',
    url: `/api/article`,
    data: {
      ...data,
    },
    ...(options || {}),
  })
}
/**
 * 删除文章 DELETE /api/article
 */
export async function delete_api_article (
  params: {
    /** id */
    id: number;
  },
  options?: Record<string, any>,
): Promise<Result<any>> {
  return axios({
    method: 'DELETE',
    url: `/api/article`,
    params: {
      ...params,
    },
    ...(options || {}),
  })
}

/**
 * 发布文章 POST /api/article/add
 */
export async function post_api_article_add (
  data: {
    /** 是否允许评论 */
    allowComment?: boolean;
    /** 文章分类 */
    category?: string;
    /** 文章评论量 */
    commentNum?: number;
    /** 文章内容 */
    content?: string;
    /** 创建时间 */
    createTime?: string;
    /** 文章点击量 */
    hit?: number;
    /** 文章id */
    id?: number;
    /** 文章标签 */
    tag?: string;
    /** 文章缩略图 */
    thumbnail?: string;
    /** 文章标题 */
    title?: string;
    /** 更新时间 */
    updateTime?: string;
  },
  options?: Record<string, any>,
): Promise<Result<any>> {
  return axios({
    method: 'POST',
    url: `/api/article/add`,
    data: {
      ...data,
    },
    ...(options || {}),
  })
}

/**
 * 统计文章 GET /api/article/count
 */
export async function get_api_article_count (
  options?: Record<string, any>,
): Promise<Result<any>> {
  return axios({
    method: 'GET',
    url: `/api/article/count`,
    ...(options || {}),
  })
}

/**
 * 统计热度前十文章信息 GET /api/article/getHeatArticles
 */
export async function get_api_article_getHeatArticles (
  options?: Record<string, any>,
): Promise<Result<any>> {
  return axios({
    method: 'GET',
    url: `/api/article/getHeatArticles`,
    ...(options || {}),
  })
}

/**
 * 查询单条文章 GET /api/article/getOne
 */
export async function get_api_article_getOne (
  params: {
    /** 文章id */
    id?: number;
  },
  options?: Record<string, any>,
): Promise<Result<any>> {
  return axios({
    method: 'GET',
    url: `/api/article/getOne`,
    params: {
      ...params,
    },
    ...(options || {}),
  })
}

/**
 * 更新文章 POST /api/article/update
 */
export async function post_api_article_update (
  data: {
    /** 是否允许评论 */
    allowComment?: boolean;
    /** 文章分类 */
    category?: string;
    /** 文章评论量 */
    commentNum?: number;
    /** 文章内容 */
    content?: string;
    /** 创建时间 */
    createTime?: string;
    /** 文章点击量 */
    hit?: number;
    /** 文章id */
    id?: number;
    /** 文章标签 */
    tag?: string;
    /** 文章缩略图 */
    thumbnail?: string;
    /** 文章标题 */
    title?: string;
    /** 更新时间 */
    updateTime?: string;
  },
  options?: Record<string, any>,
): Promise<Result<any>> {
  return axios({
    method: 'POST',
    url: `/api/article/update`,
    data: {
      ...data,
    },
    ...(options || {}),
  })
}
